package ie.dkit.java3Demulation.transforming;

import java.util.Collection;

import ie.dkit.java3Demulation.objects.GraphicsObject;
import ie.dkit.java3Demulation.objects3d.Point3D;

public interface Transformable extends GraphicsObject {
	/**
	 * Returns all Points in the object that should be Transfromed
	 * 
	 * @return
	 */
	public Collection<Point3D> getPoints();

	/**
	 * Represents the middle of a Object should return null if the rotation
	 * Point is the Origin
	 * 
	 * @return
	 */
	public Point3D getRotationPoint();

	/**
	 * Set the RotationPoint to a point3D
	 * 
	 * @param point3D
	 */
	public void setRotationPoint(Point3D point3D);
}
